Clustering der Auflagen zum Pflanzenschutz aus dem Schweizer Pflanzenschutzmittelverzeichnis

Author

Damian Oswald

Published

November 25, 2024

Hintergrund

Das Pflanzenschutzmittelverzeichnis (PSMV) des Bundesamts für Lebensmittelsicherheit und Veterinärwesen (BLV) ist eine umfassende Liste aller in der Schweiz zugelassenen Pflanzenschutzmittel. Es enthält detaillierte Informationen zu deren vorgesehenen Anwendungen, Anwendungseinschränkungen, Aufwandmengen, Gefahrenkennzeichnung und Anwendungsauflagen. Auch Parallelimporte und spezifische Anwendungsvorschriften sind aufgeführt. Die Datenbank wird regelmässig aktualisiert und steht sowohl online als auch in einer XML-Formatdatei zur Verfügung. Sie dient als zentrale Referenz für die Zulassung und den sicheren Einsatz von Pflanzenschutzmitteln in der Schweiz.

Unter anderem enthält das Pflanzenschutzmittelverzeichnis sogenannte Auflagen zur Verwendung eines Produktes gegen einen spezifischen Schaderreger und auf einer spezifischen Kultur. Insgesamt gibt es im PSMV 27393 solche Auflagen, wobei sich einige Auflagen wortwörtlich wiederholen, sodass das PSMV schlussendlich 1419 einzigartige Auflagen enthält (Stand November 2024).

In dieser kurzen Arbeit geht es darum, einen Überblick zu diesen 1419 einzigartige Auflagen zu schaffen und diese mithilfe künstlicher Intelligenz zu sortieren und gruppieren. Die Arbeit schafft damit eine Grundlage dafür, dass diesee Auflagen in eine strukturierte Form überführt werden können.

Prozess

Um die Auflagen zu sortieren habe ich das Embedding-Modell von OpenAI verwendet. Dieses kann über eine (bezahlte) API aufgerufen werden und wandelt einen Text in seine sogenannte Embeddings ein, also in einen Vektor (eine Menge an Zahlen).

Das Python-Skript erzeugt aus den 1419 Auflagen ein CSV (embeddings.csv) welches sowohl die Auflagen als Text als auch die Werte der Embeddings enthält. Jede Auflage wurde in einen Vektor mit 1536 Elementen umgewandelt, daher ist das CSV entsprechend gross. Mit diesen Zahlen lässt sich nun weiter arbeiten.

Die Grösse der Embeddings kann zu einem Problem werden, da wir jetzt mehr Dimensionen haben als eigentliche Beobachtungen (also die Anzahl Auflagen). Als erstes sehen wir uns daher an, wie viel Informationsgehalt in den 1536 Werten der Embeddings steckt. Dazu verwenden wir eine Principal Component Analysis und analysieren die kumulative Varianz der einzelnen Komponenten. In anderen Worten: Wir drehen die Zahlen der Embeddings so, dass uns die jeweils erste Zahl in jedem Vektor am meisten über dessen Inhalt verrät, der zweite am zweitmeisten etc.

Die Analyse verrät uns, dass die Verwendung der 100 ersten Komponenten immer noch 80% der Varianz in den Auflagen erklärt.

Das R-Paket mclust wählt die Hyperparameter für das Gaussian Mixture Model (GMM) automatisch aus. In unserem Fall wurde das Modell VEI (diagonal, equal shape) mit 20 Clustern automatisch ausgewählt.